package br.com.salao.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name="funcionario")
public class Funcionario implements Serializable {
	

	private static final long serialVersionUID =1L;
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int id;

	@OneToOne
	private Usuario usuario;
	@Temporal(TemporalType.TIME)
	private Date inicioExpedienteManha;
	@Temporal(TemporalType.TIME)
	private Date fimExpedienteManha;
	@Temporal(TemporalType.TIME)
	private Date inicioExpedienteTarde;
	@Temporal(TemporalType.TIME)
	private Date fimExpedienteTarde;
	@OneToOne
	private Estabelecimento estabelecimento;	
	//parametro para identificar permissoes
	private boolean isMaster;
	
	@Temporal(TemporalType.DATE)
	private Date created = new Date();
	
	public Funcionario(){
		usuario = new Usuario();
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Date getInicioExpedienteManha() {
		return inicioExpedienteManha;
	}

	public void setInicioExpedienteManha(Date inicioExpedienteManha) {
		this.inicioExpedienteManha = inicioExpedienteManha;
	}

	public Date getFimExpedienteManha() {
		return fimExpedienteManha;
	}

	public void setFimExpedienteManha(Date fimExpedienteManha) {
		this.fimExpedienteManha = fimExpedienteManha;
	}

	public Date getInicioExpedienteTarde() {
		return inicioExpedienteTarde;
	}

	public void setInicioExpedienteTarde(Date inicioExpedienteTarde) {
		this.inicioExpedienteTarde = inicioExpedienteTarde;
	}

	public Date getFimExpedienteTarde() {
		return fimExpedienteTarde;
	}

	public void setFimExpedienteTarde(Date fimExpedienteTarde) {
		this.fimExpedienteTarde = fimExpedienteTarde;
	}

	public Date getCreated() {
		return created;
	}

	public void setCreated(Date created) {
		this.created = created;
	}

	public Estabelecimento getEstabelecimento() {
		return estabelecimento;
	}

	public void setEstabelecimento(Estabelecimento estabelecimento) {
		this.estabelecimento = estabelecimento;
	}

	public boolean isMaster() {
		return isMaster;
	}

	public void setMaster(boolean isMaster) {
		this.isMaster = isMaster;
	}	
	
}
